/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hybris;

/**
 *
 * @author menderleit
 */
public abstract class DemoPart {

    private FullScreen fs;
    private long time;
    private int stage;
    private boolean runFlag;
    
    public DemoPart(FullScreen fs) {
        this.fs = fs;
        time = 0;
        stage = 0;
        runFlag = false;
    }
    
    public FullScreen getFullScreen() {
        return fs;
    }
    
    public void start() {
        runFlag = true;
    }
    
    public void stop() {
        runFlag = false;
    }
    
    public boolean keepRunning() {
        return runFlag;
    }
    
    public long getTime() {
        return time;
    }
    
    public void updateTime(long difTime) {
        time += difTime;
    }
    
    public int getStage() {
        return stage;
    }
    
    public void nextStage() {
        stage++;
    }

    // Update effects.
    public abstract void update(long difTime);

    // Draw effects.
    public abstract void draw();
}
